home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d3 / db4less3.arc / JOBMENU.PRG < prev    next >
Text File  |  1990-06-16  |  21KB  |  713 lines

  1. **********************************************************************
  2. * Program......: JOBMENU.PRG
  3. * Author.......: Bruce Troutman
  4. * Date.........: 1-04-89
  5. * Notice.......: Interco International, Ltd.
  6. * dBASE Ver....: dBase IV
  7. * Generated by.: APGEN version 1.0
  8. * Description..: Job Cost System Main Menu
  9.  
  10. * Description..: Main routine for menu system
  11. **********************************************************************
  12.  
  13. *-- Setup environment
  14. SET CONSOLE OFF
  15. IF TYPE("gn_ApGen")="U"
  16.    CLEAR ALL
  17.    CLEAR WINDOWS
  18.    CLOSE ALL
  19.    CLOSE PROCEDURE
  20.    gn_ApGen=1
  21. ELSE
  22.    gn_ApGen=gn_ApGen+1
  23.    IF gn_ApGen > 4
  24.       Do Pause WITH "Maximum level of Application nesting exceeded."
  25.       RETURN
  26.    ENDIF
  27.    PRIVATE gc_bell, gc_carry, gc_clock, gc_century, gc_confirm, gc_deli,;
  28.            gc_instruc, gc_safety, gc_status, gc_score, gc_talk, gc_key
  29. ENDIF
  30. *-- Store some sets to variables
  31. gc_bell   =SET("BELL")
  32. gc_carry  =SET("CARRY")
  33. gc_clock  =SET("CLOCK")
  34. gc_century=SET("CENTURY")
  35. gc_confirm=SET("CONFIRM")
  36. gc_deli   =SET("DELIMITERS")
  37. gc_instruc=SET("INSTRUCT")
  38. gc_safety =SET("SAFETY")
  39. gc_status =SET("STATUS")
  40. gc_score  =SET("SCOREBOARD")
  41. gc_talk   =SET("TALK")
  42. SET CONSOLE ON
  43.  
  44. SET BELL ON
  45. SET CARRY OFF
  46. SET CENTURY OFF
  47. SET CLOCK OFF
  48. SET CONFIRM OFF
  49. SET DELIMITERS TO ""
  50. SET DELIMITERS OFF
  51. SET DEVICE TO SCREEN
  52. SET ESCAPE ON
  53. SET EXCLUSIVE OFF
  54. SET ECHO OFF
  55. SET LOCK ON
  56. SET MESSAGE TO ""
  57. SET PRINT OFF
  58. SET REPROCESS TO 4
  59. SET SAFETY ON
  60. SET TALK OFF
  61.  
  62. *-- Initialize global variables
  63. gn_error=0          && 0 if no error, otherwise an error occurred
  64. gn_ikey=0           && keypress returned from the INKEY() function
  65. gn_send=0           && return value from popup of position menus
  66. gn_trace=1          && sets trace level, however you need to change template
  67. gc_brdr='1'         && border to use when drawing boxes
  68. gc_dev='CON'        && Device to use for printing - See Proc. PrintSet
  69. gc_key='N'          && leave the application
  70. gc_prognum='  '     && internal program counter to handle nested menus
  71. gc_quit=' '         && memvar for return to caller
  72. listval='NO_FIELD'  && Pick List value
  73.  
  74. *-- remove asterisk to turn clock on
  75. * SET CLOCK TO
  76. SET INSTRUCT OFF
  77.  
  78. *-- Blank the screen
  79. SET COLOR TO
  80. CLEAR
  81. SET SCOREBOARD OFF
  82. SET STATUS OFF
  83.  
  84. *-- Define menus
  85. DO MPDEF            && execute Menu Process DEFinition
  86.  
  87. *-- Execute main menu
  88. DO WHILE gc_key = 'N'
  89.    DO MAINBAR WITH "B00"
  90.    IF gc_quit = 'Q'
  91.       EXIT
  92.    ENDIF
  93.    ACTIVATE WINDOW Exit_App
  94.    lc_conf=SET("CONFIRM")
  95.    lc_deli=SET("DELIMITER")
  96.    SET CONFIRM OFF
  97.    SET DELIMITER OFF
  98.    @ 1,2 SAY "Do you want to leave this application?" ;
  99.          GET gc_key PICT "!" VALID gc_key $ "NY"
  100.    READ
  101.    SET CONFIRM &lc_conf.
  102.    SET DELIMITER &lc_deli.
  103.    RELEASE lc_conf, lc_deli
  104.    DEACTIVATE WINDOW Exit_App
  105. ENDDO
  106.  
  107. *-- Reset environment
  108. gn_ApGen=gn_ApGen-1
  109. SET BELL  &gc_bell.
  110. SET CARRY &gc_carry.
  111. SET CLOCK &gc_clock.
  112. SET CENTURY &gc_century.
  113. SET CONFIRM &gc_confirm.
  114. SET DELIMITERS &gc_deli.
  115. SET INSTRUCT &gc_instruc.
  116. SET STATUS &gc_status.
  117. SET SAFETY &gc_safety.
  118. SET SCORE  &gc_score.
  119. SET TALK   &gc_talk.
  120.  
  121. IF gn_Apgen < 1
  122.    ON KEY LABEL F1
  123.    CLEAR ALL
  124.    CLEAR WINDOWS
  125.    CLOSE ALL
  126.    CLOSE PROCEDURE
  127.    SET CLOCK OFF
  128.    SET ESCAPE ON
  129.    SET MESSAGE TO ""
  130.    CLEAR
  131. ENDIF
  132. RETURN
  133.  
  134. *******************************************************************************
  135. * Description..: Procedure files for generated menu system.
  136. * The programs that follow are common to main routines
  137. * The last procedure is the Menu Process DEFinition
  138. *******************************************************************************
  139. PROCEDURE Lockit
  140. PARAMETER ltype
  141. IF NETWORK()
  142.    gn_error=0
  143.    ON ERROR DO Multerr
  144.    IF ltype = "1"
  145.      ll_lock=FLOCK()
  146.    ENDIF
  147.    IF ltype = "2"
  148.      ll_lock=RLOCK()
  149.    ENDIF
  150.    ON ERROR
  151. ENDIF
  152. RETURN
  153.  
  154. PROCEDURE Info_Box
  155. PARAMETERS lc_say
  156. ? lc_say
  157. ? REPLICATE("-",LEN(lc_say))
  158. ?
  159. RETURN
  160. * EOP: Info_Box
  161.  
  162. PROCEDURE get_sele
  163. *-- Get the user selection & store BAR into variable
  164. gn_send = BAR()  && Variable for print testing
  165. DEACTIVATE POPUP
  166. RETURN
  167.  
  168. PROCEDURE ShowPick
  169. listval=PROMPT()
  170. IF LEFT(entryflg,1)="B"
  171.    lc_file=POPUP()
  172.    DO &lc_file. WITH "A"
  173.    RETURN
  174. ENDIF
  175. IF TYPE("lc_window")="U"
  176.    ACTIVATE WINDOW ShowPick
  177. ELSE
  178.    ACTIVATE WINDOW &lc_window.
  179. ENDIF
  180. STORE 0 TO ln_ikey,x1,x2
  181. ln_ikey=LASTKEY()
  182. IF ln_ikey=13
  183.    x1=AT(TRIM(listval)+',',lc_fldlst)
  184.    IF x1 = 0
  185.       lc_fldlst=lc_fldlst+TRIM(listval)+','
  186.    ELSE
  187.       x2=AT(',',SUBSTR(lc_fldlst,x1))
  188.       lc_fldlst=STUFF(lc_fldlst,x1,x2,'')
  189.    ENDIF
  190.    CLEAR
  191.    ? lc_fldlst
  192. ENDIF
  193. ACTIVATE SCREEN
  194. RETURN
  195. * EOP: ShowPick
  196.  
  197. PROCEDURE Cleanup
  198. *-- test whether report option was selected
  199. DO CASE
  200. CASE gc_dev='CON'
  201.    WAIT
  202. CASE gc_dev='PRN'
  203.    SET PRINT OFF
  204.    SET PRINTER TO
  205. CASE gc_dev='TXT'
  206.    CLOSE ALTERNATE
  207. ENDCASE
  208. RETURN
  209.  
  210. * EOP: Cleanup
  211.  
  212. PROCEDURE Pause
  213. PARAMETER lc_msg
  214. *-- Parameters : lc_msg = message line
  215. IF TYPE("lc_message")="U"
  216.    gn_error=ERROR()
  217. ENDIF
  218. lc_msg = lc_msg
  219. lc_option='0'
  220. ACTIVATE WINDOW Pause
  221. IF gn_error > 0
  222.    IF TYPE("lc_message")="U"
  223.       @ 0,1 SAY [An error has occurred !! - Error message: ]+MESSAGE()
  224.    ELSE
  225.       @ 0,1 SAY [Error # ]+lc_message
  226.    ENDIF
  227. ENDIF
  228. @ 1,1 SAY lc_msg
  229. WAIT " Press any key to continue..."
  230. DEACTIVATE WINDOW Pause
  231. RETURN
  232.  
  233. * EOP: Pause
  234.  
  235. PROCEDURE Multerr
  236. *-- set the global error variable
  237. gn_error=ERROR()
  238. *-- contains error number to test
  239. lc_erno=STR(ERROR(),3)+','
  240. *-- option var.
  241. lc_opt='T'
  242. *-- Dialog box for options Try again and Return to menu.
  243. IF lc_erno $ "108,109,128,129,"
  244.    ACTIVATE WINDOW Pause
  245.    @ 0,2 SAY lc_erno+" "+MESSAGE()
  246.    @ 2,22 SAY "T = Try again, R = Return to menu." GET lc_opt ;
  247. PICTURE "!" VALID lc_opt $ "TR"
  248.    READ
  249.    DEACTIVATE WINDOW Pause
  250.    IF lc_opt = "R"
  251.       RETURN
  252.    ENDIF
  253. ENDIF
  254. *-- Display message and return to menu.
  255. IF .NOT. lc_erno $ "108,109,128,129,"
  256.    DO PAUSE WITH ERROR()
  257.    RETURN
  258. ENDIF
  259. *-- reset global variable
  260. gn_error=0
  261. *-- Try the command again
  262. RETRY
  263. RETURN
  264.  
  265. * EOP: Multerr
  266.  
  267. PROCEDURE Trace
  268. *  Desc: Trace procedure - to let programmer know what module
  269. *           is about to execute and what module has executed.
  270. PARAMETERS p_msg, p_lvl
  271. *-- Parameters : p_msg = message line, p_lvl = trace level
  272. lc_msg = p_msg
  273. ln_lvl = p_lvl
  274. lc_trp = ' '
  275. IF gn_trace < ln_lvl
  276.    RETURN
  277. ENDIF
  278. DEFINE WINDOW trace FROM 11,00 TO 16,79 DOUBLE
  279. DO WHILE lc_trp <> 'Q'
  280.    @ 2,40-LEN(lc_msg)/2 SAY lc_msg
  281.    @ 4,05 SAY 'S - Set trace level, D - Display status, M - display Memory'
  282.    @ 5,05 SAY 'P - Turn printer on, Q - to Quit'
  283.    lc_trp = 'Q'
  284.    @ 5,38 GET lc_trp PICTURE "!"
  285.    READ
  286.    DO CASE
  287.    CASE lc_trp = 'S'
  288.       @ 2,01 CLEAR
  289.       @ 2,33 SAY 'Set trace level'
  290.       @ 4,05 SAY 'Enter trace level to change to:' GET gn_trace PICTURE '#'
  291.       @ 5,05 SAY '            '
  292.       READ
  293.       IF gn_trace=0
  294.          @ 2,01 CLEAR
  295.          @ 3,05 SAY 'Trace is now turned off..To reactivate Trace - Press [F3]'
  296.          @ 4,05 say 'Press any key to continue...'
  297.          WAIT ''
  298.       ENDIF
  299.    CASE lc_trp = 'D'
  300.       DISPLAY STATUS
  301.       WAIT
  302.    CASE lc_trp = 'M'
  303.       DISPLAY MEMORY
  304.       WAIT
  305.    CASE lc_trp = 'P'
  306.       SET PRINT ON
  307.    ENDCASE
  308. ENDDO
  309. SET PRINT OFF
  310. @ 24,79 SAY " "
  311. RELEASE WINDOW trace
  312. RETURN
  313.  
  314. * EOP: Trace
  315.  
  316. PROCEDURE PrintSet
  317. *-- Initialize variables
  318. gc_dev='CON'
  319. lc_choice=' '
  320. gn_pkey=0
  321. gn_send=0
  322.  
  323. DEFINE WINDOW printemp FROM 08,25 TO 17,56
  324.  
  325. DEFINE POPUP SavePrin FROM 10,40
  326. DEFINE BAR 1 OF SavePrin PROMPT " Send output to ..." SKIP
  327. DEFINE BAR 2 OF SavePrin PROMPT REPLICATE(CHR(196),24) SKIP
  328. DEFINE BAR 3 OF SavePrin PROMPT " CON:   Console" MESSAGE "Send output to Screen"
  329. DEFINE BAR 4 OF SavePrin PROMPT " LPT1:  Parallel port 1 " MESSAGE "Send output to LPT1:"
  330. DEFINE BAR 5 OF SavePrin PROMPT " LPT2:  Parallel port 2" MESSAGE "Send output to LPT2:"
  331. DEFINE BAR 6 OF SavePrin PROMPT " COM1:  Serial port 1" MESSAGE "Send output to COM1:"
  332. DEFINE BAR 7 OF SavePrin PROMPT " FILE = REPORT.TXT" MESSAGE "Send output to File Report.txt"
  333. ON SELECTION POPUP SavePrin DO get_sele
  334.  
  335. ACTIVATE POPUP SavePrin
  336. RELEASE POPUP SavePrin
  337.  
  338. IF gn_send = 7
  339.    gc_dev = 'TXT'
  340.    SET ALTERNATE TO REPORT.TXT
  341.    SET ALTERNATE ON
  342. ELSE
  343.    IF .NOT. (gn_send = 3 .OR. LASTKEY() = 27)
  344.       gc_dev = 'PRN'
  345.       temp = SUBSTR("   LPT1LPT2COM1 ",((gn_send-2)-1)*4,4)
  346.       ON ERROR DO prntrtry
  347.       SET PRINTER TO &temp.
  348.       IF gn_pkey <> 27
  349.          SET PRINT ON
  350.       ENDIF
  351.       ON ERROR
  352.    ENDIF
  353. ENDIF
  354. RELEASE WINDOW printemp
  355. RETURN
  356.  
  357. PROCEDURE prntrtry
  358. PRIVATE lc_escape
  359. lc_escape = SET("ESCAPE")
  360. IF .NOT. PRINTSTATUS()
  361.    IF lc_escape = "ON"
  362.       SET ESCAPE OFF
  363.    ENDIF
  364.    gn_pkey = 0
  365.    ACTIVATE WINDOW printemp
  366.    @ 1,0 SAY "Please ready your printer or"
  367.    @ 2,0 SAY "     press ESC to cancel"
  368.    DO WHILE ( .NOT. PRINTSTATUS()) .AND. gn_pkey <> 27
  369.       gn_pkey = INKEY()
  370.    ENDDO
  371.    DEACTIVATE WINDOW printemp
  372.    SET ESCAPE &lc_escape.
  373.    IF gn_pkey <> 27
  374.       RETRY
  375.    ENDIF
  376. ENDIF
  377. RETURN
  378.  
  379. * EOP: PrintSet
  380.  
  381. PROCEDURE Position
  382. IF LEN(DBF()) = 0
  383.    DO Pause WITH "Database not in use. "
  384.    RETURN
  385. ENDIF
  386. SET SPACE ON
  387. SET DELIMITERS OFF
  388. ln_type=0          && sublevel selection
  389. ln_rkey=READKEY()  && test for ESC or Return
  390. ln_rec=RECNO()     && DBF record number
  391. ln_num=0           && for input of a number
  392. ld_date=DATE()     && for input of a date
  393. lc_option='0'      && main option ie. Seek, Goto and Locate
  394. *-- Scope ie. ALL, REST, NEXT <n>
  395. STORE SPACE(10) TO lc_scp
  396. *-- 1 = Character SEEK, 2 = For clause, 3 = While clause
  397. STORE SPACE(40) TO lc_ln1, lc_ln2, lc_ln3
  398. lc_temp=""
  399. @ 0,00 SAY "Index order: "+IIF(""=ORDER(),"Database is in natural order",ORDER())
  400. @ 1,00 SAY "Listed below are the first 16 fields."
  401. lc_temp=REPLICATE(CHR(196),19)
  402. @ 2,0 SAY CHR(218)+lc_temp+CHR(194)+lc_temp+CHR(194)+lc_temp+CHR(194)+lc_temp
  403. ln_num=240
  404. DO WHILE ln_num < 560
  405.    lc_temp=FIELD( (ln_num-240)/20 +1)
  406.    @ (ln_num/80),MOD(ln_num,80) SAY CHR(179)+;
  407. lc_temp+SPACE(11-LEN(lc_temp))+;
  408. SUBSTR("= Char  = Date  = Logic = Num   = Float = Memo          ",;
  409. AT(TYPE(lc_temp),"CDLNFMU")*8-7,8)
  410.    ln_num=ln_num+20
  411. ENDDO
  412. ln_num=1
  413.  
  414. DEFINE POPUP Posit1 FROM 8,30
  415. DEFINE BAR 1 OF Posit1 PROMPT " Position by " SKIP
  416. DEFINE BAR 2 OF Posit1 PROMPT REPLICATE(CHR(196),15) SKIP
  417. DEFINE BAR 3 OF Posit1 PROMPT " SEEK Record" MESSAGE "Search on index key" SKIP FOR ""=ORDER()
  418. DEFINE BAR 4 OF Posit1 PROMPT " GOTO Record" MESSAGE "Position to specific record"
  419. DEFINE BAR 5 OF Posit1 PROMPT " LOCATE Record " MESSAGE "Locate record for condition"
  420. DEFINE BAR 6 OF Posit1 PROMPT " Return" MESSAGE "Return without positioning"
  421. ON SELECTION POPUP Posit1 DO get_sele
  422.  
  423. SET CONFIRM ON
  424. DO WHILE lc_option='0'
  425.   ACTIVATE POPUP Posit1
  426.   lc_option = ltrim(str(gn_send))  && for popup
  427.    IF LASTKEY() = 27 .OR. lc_option="6"
  428.       GOTO ln_rec
  429.       EXIT
  430.    ENDIF
  431.    DO CASE
  432.    CASE lc_option='3'
  433.       *-- Seek
  434.       IF LEN(NDX(1))=0 .AND. LEN(MDX(1))=0
  435.          DO Pause WITH "Can't use this option - No index files are open."
  436.          LOOP
  437.       ENDIF
  438.       ln_type=1
  439.       lc_ln1=SPACE(40)
  440.       DEFINE WINDOW Posit2 FROM 8,19 TO 15,62 DOUBLE
  441.       ACTIVATE WINDOW Posit2
  442.       @ 1,1 SAY "Enter the type of expression:" GET ln_type PICT "#" RANGE 1,3
  443.       @ 2,1 SAY "(1=character, 2=numeric and 3=date.)"
  444.       READ
  445.       IF .NOT. (READKEY() = 12 .OR. READKEY() = 268)
  446.          SET CONFIRM ON
  447.          @ 3,1 SAY "Enter the key expression to search for:"
  448.          IF ln_type=3
  449.             @ 4,1 GET ld_date PICT "@D"
  450.          ELSE
  451.             IF ln_type=2
  452.                @ 4,1 GET ln_num PICT "##########"
  453.             ELSE
  454.                @ 4,1 GET lc_ln1
  455.             ENDIF
  456.          ENDIF
  457.          READ
  458.          SET CONFIRM OFF
  459.          IF .NOT. (READKEY() = 12 .OR. READKEY() = 268)
  460.             lc_temp=IIF(ln_type=1,"TRIM(lc_ln1)",IIF(ln_type=2,"ln_num","ld_date"))
  461.             SEEK &lc_temp.
  462.          ENDIF
  463.       ENDIF
  464.       RELEASE WINDOWS Posit2
  465.    CASE lc_option='4'
  466.       *-- Goto
  467.       ln_type=1
  468.       DEFINE POPUP Posit2 FROM 8,30
  469.       DEFINE BAR 1 OF Posit2 PROMPT " GOTO:" SKIP 
  470.       DEFINE BAR 2 OF Posit2 PROMPT REPLICATE(CHR(196),10) SKIP 
  471.       DEFINE BAR 3 OF Posit2 PROMPT " TOP" MESSAGE "GOTO Top of File"
  472.       DEFINE BAR 4 OF Posit2 PROMPT " BOTTOM" MESSAGE "GOTO Bottom of File"
  473.       DEFINE BAR 5 OF Posit2 PROMPT " Record # " MESSAGE "GOTO A Specific Record"
  474.       ON SELECTION POPUP Posit2 DO get_sele
  475.       ACTIVATE POPUP posit2
  476.       ln_type = gn_send
  477.       IF LASTKEY() <> 27
  478.          IF ln_type=5
  479.             DEFINE WINDOW Posit2 FROM 8,26 TO 13,50 DOUBLE
  480.             ACTIVATE WINDOW Posit2
  481.             ln_num=0
  482.             @ 3,1 SAY "Max. Record # = "+LTRIM(STR(RECCOUNT()))
  483.             @ 1,1 SAY "Record to GOTO" GET ln_num PICT "######" RANGE 1,RECCOUNT()
  484.             READ
  485.             IF .NOT. (READKEY() = 12 .OR. READKEY() = 268)
  486.                GOTO ln_num
  487.             ENDIF
  488.             RELEASE WINDOWS Posit2
  489.          ELSE
  490.            lc_temp=IIF(ln_type=3,"TOP","BOTTOM")
  491.            GOTO &lc_temp.
  492.          ENDIF
  493.       ENDIF
  494.    CASE lc_option='5'
  495.       *-- Locate
  496.       DEFINE WINDOW Posit2 FROM 8,16 TO 14,66 DOUBLE
  497.       ACTIVATE WINDOW Posit2
  498.       @ 1,19 SAY "ie. ALL, NEXT <n>, and REST"
  499.       @ 1,01 SAY "Scope:" GET lc_scp
  500.       @ 2,01 SAY "For:  " GET lc_ln2
  501.       @ 3,01 SAY "While:" GET lc_ln3
  502.       READ
  503.       IF .NOT. (READKEY() = 12 .OR. READKEY() = 268)
  504.          lc_temp=TRIM(lc_scp)
  505.          lc_temp=lc_temp + IIF(LEN(TRIM(lc_ln2)) > 0," FOR "+TRIM(lc_ln2),"")
  506.          lc_temp=lc_temp + IIF(LEN(TRIM(lc_ln3)) > 0," WHILE "+TRIM(lc_ln3),"")
  507.          IF LEN(lc_temp) > 0
  508.             LOCATE &lc_temp.
  509.          ELSE
  510.             DO Pause WITH "All fields were blank."
  511.          ENDIF
  512.       ENDIF
  513.       RELEASE WINDOW Posit2
  514.    ENDCASE
  515.    IF EOF()
  516.       DO Pause WITH "Record not found."
  517.       GOTO ln_rec
  518.    ENDIF
  519.    IF READKEY()=12 .OR. READKEY()= 268 .OR. LASTKEY()=27  && Esc was hit
  520.       lc_option='0'
  521.    ENDIF
  522. ENDDO
  523. SET DELIMITERS &gc_deli.
  524. SET CONFIRM OFF
  525. RETURN
  526.  
  527. * EOP: Position
  528.  
  529. PROCEDURE Postnhlp
  530. ln_getkey=INKEY()
  531. DO CASE
  532. CASE "SEEK" $ PROMPT()
  533.    HELP SEEK
  534. CASE "GOTO" $ PROMPT()
  535.    HELP GOTO
  536. CASE "LOCATE" $ PROMPT()
  537.    HELP LOCATE
  538. ENDCASE
  539. RETURN
  540. * EOP: Postnhlp
  541.  
  542.  
  543. **********************************************************************
  544. * Program......: MPDEF
  545. * Author.......: Bruce Troutman
  546. * Date.........: 1-04-89
  547. * Notice.......: Interco International, Ltd.
  548. * dBASE Ver....: dBase IV
  549. * Generated by.: APGEN version 1.0
  550. * Description..: Job Cost System Main Menu
  551.  
  552. * Description..: Defines all menus in the system
  553. **********************************************************************
  554. PROCEDURE MPDEF
  555. IF ISCOLOR()
  556.    SET COLOR OF NORMAL TO W+/B
  557.    SET COLOR OF MESSAGES TO W+/N
  558.    SET COLOR OF TITLES TO W/B
  559.    SET COLOR OF HIGHLIGHT TO B/W
  560.    SET COLOR OF BOX TO B/W
  561.    SET COLOR OF INFORMATION TO B/W
  562.    SET COLOR OF FIELDS TO B/W
  563. ENDIF
  564. CLEAR
  565.  
  566.  
  567. DEFINE WINDOW FullScr FROM 0,0 TO 24,79 NONE
  568. DEFINE WINDOW Savescr FROM 0,0 TO 21,79 NONE
  569. DEFINE WINDOW Helpscr FROM 0,0 TO 21,79 NONE
  570. DEFINE WINDOW Browscr FROM 1,0 TO 21,79 NONE
  571. IF gn_ApGen=1
  572.    DEFINE WINDOW Exit_App FROM 11,17 TO 15,62 DOUBLE
  573. ENDIF
  574. *-- Window for pause message box
  575. DEFINE WINDOW Pause FROM 15,00 TO 19,79 DOUBLE
  576.  
  577. ACTIVATE WINDOW FullScr
  578. @ 24,00
  579. @ 23,00 SAY "Loading..."
  580. SET BORDER TO DOUBLE
  581. *-- Bar
  582. DEFINE MENU MAINBAR MESSAGE "MAIN MENU"
  583. DEFINE PAD PAD_1 OF MAINBAR PROMPT "Data Entry" AT 5,4 MESSAGE "Add, Change, Delete Menu"
  584. ON PAD PAD_1 OF MAINBAR ACTIVATE POPUP DATAENT
  585. DEFINE PAD PAD_2 OF MAINBAR PROMPT "Retrieval" AT 5,27 MESSAGE "Reports, Labels and Review Menu"
  586. ON PAD PAD_2 OF MAINBAR ACTIVATE POPUP DATARET
  587. DEFINE PAD PAD_3 OF MAINBAR PROMPT "Other Options" AT 5,49 MESSAGE "Maintenance and Copying Options"
  588. ON PAD PAD_3 OF MAINBAR ACTIVATE POPUP OTHEROPT
  589. DEFINE PAD PAD_4 OF MAINBAR PROMPT "Exit" AT 5,71 MESSAGE "Exit From Job Cost System"
  590. ON SELECTION PAD PAD_4 OF MAINBAR DO ACT01
  591. ?? "."
  592. SET BORDER TO DOUBLE
  593. *-- Popup
  594. DEFINE POPUP DATAENT FROM 7,2 TO 14,19 ;
  595. MESSAGE "DATA ENTRY MENU FOR JOB COST SYSTEM"
  596. DEFINE BAR 1 OF DATAENT PROMPT " Time Slips" MESSAGE "Time Slip File Manager" 
  597. DEFINE BAR 2 OF DATAENT PROMPT " Jobs" MESSAGE "Job File Manager" 
  598. DEFINE BAR 3 OF DATAENT PROMPT " Customers" MESSAGE "Customer File Manager" 
  599. DEFINE BAR 4 OF DATAENT PROMPT " Employees" MESSAGE "Employee File Manager" 
  600. DEFINE BAR 5 OF DATAENT PROMPT " Billing Rates" MESSAGE "Billing Rate File Manager" SKIP FOR ACCESS()<8
  601. DEFINE BAR 6 OF DATAENT PROMPT " Function Codes" MESSAGE "Function Code File Manager" 
  602. ON SELECTION POPUP DATAENT DO ACT02
  603. ?? "."
  604. SET BORDER TO DOUBLE
  605. *-- Popup
  606. DEFINE POPUP DATARET FROM 7,25 TO 12,39 ;
  607. MESSAGE "DATA RETRIEVAL MENU FOR JOB COST SYSTEM"
  608. DEFINE BAR 1 OF DATARET PROMPT " Reports" MESSAGE "Reports Menu" 
  609. DEFINE BAR 2 OF DATARET PROMPT " Browse Data" MESSAGE "Review Menu" 
  610. DEFINE BAR 3 OF DATARET PROMPT " Labels" MESSAGE "Labels Menu" 
  611. DEFINE BAR 4 OF DATARET PROMPT " Invoices" MESSAGE "Produce Invoices" 
  612. ON SELECTION POPUP DATARET DO ACT03
  613. ?? "."
  614. SET BORDER TO DOUBLE
  615. *-- Popup
  616. DEFINE POPUP OTHEROPT FROM 7,47 TO 12,68 ;
  617. MESSAGE "Maintenance and Copying Options"
  618. DEFINE BAR 1 OF OTHEROPT PROMPT " Back up Data Files" MESSAGE "Back Up Data Files" 
  619. DEFINE BAR 2 OF OTHEROPT PROMPT " Copy Time to Lotus" MESSAGE "Create Lotus File: TIME.WKS" 
  620. DEFINE BAR 3 OF OTHEROPT PROMPT " Copy Emp to ASCII" MESSAGE "Create Employee List ASCII File: EMP.TXT" 
  621. DEFINE BAR 4 OF OTHEROPT PROMPT " Go to DOS" MESSAGE "Go to DOS Command Prompt. Type EXIT to Return to Job Cost System." 
  622. ON SELECTION POPUP OTHEROPT DO ACT04
  623. ?? "."
  624. SET BORDER TO DOUBLE
  625. *-- Popup
  626. DEFINE POPUP REPORTS FROM 13,40 TO 19,64 ;
  627. MESSAGE "Reports Menu for Job Cost System"
  628. DEFINE BAR 1 OF REPORTS PROMPT " Job Status Report" MESSAGE "Produce Job Status Report for Incomplete Jobs" 
  629. DEFINE BAR 2 OF REPORTS PROMPT " Employee Phone Report" MESSAGE "Produce Employee Phone List Report" 
  630. DEFINE BAR 3 OF REPORTS PROMPT " Customer Report" MESSAGE "Produce Customer Report"  SKIP
  631. DEFINE BAR 4 OF REPORTS PROMPT " Job Report" MESSAGE "Produce Job Report"  SKIP
  632. DEFINE BAR 5 OF REPORTS PROMPT " Function Code Listing" MESSAGE "Produce Function Code List" 
  633. ON SELECTION POPUP REPORTS DO ACT05
  634. ?? "."
  635. SET BORDER TO DOUBLE
  636. *-- Popup
  637. DEFINE POPUP REVIEW FROM 13,40 TO 16,59 ;
  638. MESSAGE "Review Menu for Job Cost System"
  639. DEFINE BAR 1 OF REVIEW PROMPT " Programming Dept" MESSAGE "Employees who are in Programming Department" 
  640. DEFINE BAR 2 OF REVIEW PROMPT " Billing Rates" MESSAGE "Employees and their Billing Rates" 
  641. ON SELECTION POPUP REVIEW DO ACT06
  642. ?? "."
  643. SET BORDER TO DOUBLE
  644. *-- Popup
  645. DEFINE POPUP LABELS FROM 13,40 TO 16,58 ;
  646. MESSAGE "Labels Menu"
  647. DEFINE BAR 1 OF LABELS PROMPT " Employee Labels" MESSAGE "Produce Mailing Labels for Employees" 
  648. DEFINE BAR 2 OF LABELS PROMPT " Customer Labels" MESSAGE "Produce Mailing Labels for Customers" 
  649. ON SELECTION POPUP LABELS DO ACT07
  650. ?? "."
  651. SET BORDER TO DOUBLE
  652. DEFINE POPUP PROGFLDS FROM 5,58 TO 19,73 PROMPT STRUCTURE ;
  653. MESSAGE "Review Employees in the Programming Department"
  654. ON SELECTION POPUP PROGFLDS DO ShowPick
  655. ?? "."
  656. @ 23,00 CLEAR
  657. RETURN
  658. *-- EOP: MPDEF.PRG
  659.  
  660. PROCEDURE 1HELP1
  661. ACTIVATE WINDOW Helpscr
  662. SET ESCAPE OFF
  663. ACTIVATE SCREEN
  664. @ 0,0 CLEAR TO 21,79
  665. @ 1,0 TO 21,79 COLOR B/W
  666. @ 24,00
  667. @ 24,26 SAY "Press any key to continue..."
  668. @ 0,0 SAY ""
  669. ln_row=INKEY()
  670. DO CASE
  671. *-- help for menu MAINBAR
  672. CASE "01"=gc_prognum
  673.    @ 4,1 SAY "                      HELP -- JOB COST SYSTEM MAIN MENU"
  674.    @ 7,1 SAY "        You may use your information by selecting one of the following:"
  675.    @ 10,1 SAY "             DATA ENTRY      -   ADD, CHANGE, DELETE INFORMATION"
  676.    @ 13,1 SAY "             RETRIEVAL       -   REPORTS, INVOICES, BROWSING"
  677.    @ 16,1 SAY "             OTHER OPTIONS   -   BACK UP, COPY TO LOTUS AND WORD PROCESSORS"
  678.    ln_row=INKEY(0)
  679. *-- help for menu DATAENT
  680. CASE "02"=gc_prognum
  681.    @ 2,2 SAY "No Help defined."
  682.    ln_row=INKEY(0)
  683. *-- help for menu DATARET
  684. CASE "03"=gc_prognum
  685.    @ 2,2 SAY "No Help defined."
  686.    ln_row=INKEY(0)
  687. *-- help for menu OTHEROPT
  688. CASE "04"=gc_prognum
  689.    @ 2,2 SAY "No Help defined."
  690.    ln_row=INKEY(0)
  691. *-- help for menu REPORTS
  692. CASE "05"=gc_prognum
  693.    @ 2,2 SAY "No Help defined."
  694.    ln_row=INKEY(0)
  695. *-- help for menu REVIEW
  696. CASE "06"=gc_prognum
  697.    @ 2,2 SAY "No Help defined."
  698.    ln_row=INKEY(0)
  699. *-- help for menu LABELS
  700. CASE "07"=gc_prognum
  701.    @ 2,2 SAY "No Help defined."
  702.    ln_row=INKEY(0)
  703. *-- help for menu PROGFLDS
  704. CASE "08"=gc_prognum
  705.    @ 2,2 SAY "No Help defined."
  706.    ln_row=INKEY(0)
  707. ENDCASE
  708. SET ESCAPE ON
  709. @ 24,00
  710. DEACTIVATE WINDOW Helpscr
  711. RETURN
  712. *-- EOP: 1HELP1
  713.